﻿using Nop.Core.Domain.Customers;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Nop.Core.Domain.Logistics
{
    /// <summary>
    /// Represents a logical zone group. Identified by the postal code.
    /// </summary>
    public class ZoneGroup : BaseEntity
    {
        private ICollection<Zone> _zones;

        /// <summary>
        /// Gets or sets the name
        /// </summary>
        public virtual string Name { get; set; }

        /// <summary>
        /// Gets or sets the district identifier
        /// </summary>
        public virtual int? DistrictId { get; set; }

        /// <summary>
        /// Gets or sets the district 
        /// </summary>
        public virtual District District { get; set; }

        /// <summary>
        /// Gets or sets the courier
        /// </summary>
        public virtual LogisticsCourier Courier { get; set; }

        /// <summary>
        /// Gets or sets zones.
        /// </summary>
        public virtual ICollection<Zone> Zones
        {
            get { return _zones ?? (_zones = new List<Zone>()); }
            protected set { _zones = value; }
        }
    }
}
